﻿using Authentication.Model.Model;
using Common.Contract.Authentication.Record;
using Common.Contract.SystemConfig.Record;
using System;
using System.Collections.Generic;

namespace Authentication.Model.Interface
{
    public interface IUserProvider
    {
        Account RetrieveUser(string userName);
        Account RetrieveUserByDao(string dao, UserRecord currentDao);
        List<Account> RetrieveListUserByDao(out int totalRecord, UserRecord currentUser, FilterRecord textSearch = null, int pagesize = 0, int pageindex = 0);
        List<Account> RetrieveAllUser();
        List<DepartmentSme> RetrieveListDepartment();
        bool SaveLog(ActionLog log);
        bool SaveUserQuestion(UserQuestion record);
        DateBusiness RetrieveBusinessDate(string TableName);


        List<Account> CheckDaoAndBranch(List<string> listDao, UserRecord CurrentUser);
    }
}
